<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin:0;
            padding: 0;
        }
        .top{
            height:50px;
            /*块级元素的宽度会铺满父级元素*/
            background-color: darkred;
        }
        .banner{
            width:1220px;
            height:120px;
            margin:10px auto;
            background-color: #ff8500;
        }

        /*浮动的父元素不设置高度的情况下，浮动会给后面的标准流的元素带来灾难*/
        .box{
            width:1220px;
           /* height:300px;*/
            margin:10px auto;
            background-color: #4c4c4c;
        }
        /*浮动的子元素的高度不会撑开父元素*/
        .box>div{
            width:297.5px;/*(1220-30)/4*/
            height:300px;
            margin-right: 10px;
            background-color: darkblue;
            float:left;
        }
        .box>div:last-child{
            margin-right: 0;
        }
        .footer{
            height:300px;
            background-color: darkgoldenrod;
        }
        /*清除浮动
        在后前添加了一个伪元素，类似于手动添加一个p标签（无内容的块级元素）
        */
        .clearfix::after{
            content: '';
            display: block;
            clear: both;
        }

    </style>
</head>
<body>
<div class="top">top</div>
<div class="banner">banner</div>
<div class="box clearfix">
    <div>1</div>
    <div>1</div>
    <div>1</div>
    <div>1</div>
    <!--当清除浮动以后，浮动的子元素也会撑开父元素（父元素有了高度）-->
   <!-- <p style="clear:both"></p>-->
</div>

<div class="footer">footer</div>
</body>
</html>